---
Checks: >
  bugprone-*,
  clang-analyzer-*,
  cppcoreguidelines-*,
  modernize-*,
  performance-*,
  readability-*,
  -bugprone-easily-swappable-parameters,
  -cppcoreguidelines-avoid-magic-numbers,
  -cppcoreguidelines-non-private-member-variables-in-classes,
  -cppcoreguidelines-owning-memory,
  -cppcoreguidelines-pro-bounds-array-to-pointer-decay,
  -cppcoreguidelines-pro-type-vararg,
  -cppcoreguidelines-special-member-functions,
  -modernize-use-trailing-return-type,
  -readability-magic-numbers,
  -readability-identifier-length

WarningsAsErrors: '*'
HeaderFilterRegex: 'src/.*'

CheckOptions:
  - {key: readability-identifier-naming.ClassCase,          value: CamelCase}
  - {key: readability-identifier-naming.FunctionCase,       value: camelBack}
  - {key: readability-identifier-naming.MemberFunctionCase, value: camelBack}
  - {key: readability-identifier-naming.PrivateMemberCase,  value: lower_case}
  - {key: readability-identifier-naming.PrivateMemberPrefix, value: _}
  - {key: readability-identifier-naming.ParameterCase,      value: lower_case}
  - {key: readability-identifier-naming.LocalVariableCase,  value: lower_case}
  - {key: readability-identifier-naming.EnumConstantCase,   value: UPPER_CASE}
  - {key: readability-identifier-naming.StaticConstantCase, value: UPPER_CASE}
